创建自己的cocoapods库

创建自己的cocoapods库
参考文档:https://www.jianshu.com/p/83de37280089

可以直接将代码上传到任意地址,并不需要一定是git上

需要注意的问题的问题:

1.有时候需要在终端切换目录,否则会导致不成功。一个时本地仓库目录,一个时Example目录,注意切换
2.注意当前的分支名称,是否是master,因为下面都是使用的master分支,要保证本地线上都有master分支
git branch //查看当前分支
//如果不是可以修改名称
git branch -m 旧分支名 新分支名 (修改分支名称)
git branch -r //查看远程分支
3.依赖库多个怎么写
s.dependency ‘Alamofire’
s.dependency ‘XXX’
s.dependency ‘XXX’

4.出现错误are not allowed to push new versions for this …

You (xxx@163.com) are not allowed to push new versions for this pod. The owners of this pod are XXXXXXXXX@163.com.
pod trunk register老的邮箱 老的用户名 #执行之后需要邮箱点击连接
pod trunk add-owner 库名 新的邮箱 #新的邮箱需要你自己注册

Swift 注意点

1、枚举前面也要加 public/open
2、暴漏的类也要加public/open
3、遵循的代理方法,前面也要加public,否则会不执行
4、- WARN | [iOS] swift: The validator used Swift 4.0 by default because no Swift version was specified. podspec文件中添加 s.swift_version = ‘4.0’

简略步骤

一.创建账号
二.创建本地仓库
cd Desktop //进入桌面
pod lib create 名称 //创建项目
三.导入源码
项目/项目/Classes
四.创建远端仓库
1复制仓库地址,配置.podspec文件
2切换路径
进入项目的Example目录下执行此命令
pod update --no-repo-update
3成功后,打开Example项目,验证导入的代码是否可行
4验证一下.podspec文件
切换路径
现在终端的路径需要回到本地仓库的路径下
pod lib lint
有问题但不影响的话执行下面命令
pod lib lint --allow-warnings
出现passed validation,证明成功

5 上传内容至Git
添加远端仓库的地址
git remote add origin 远端仓库地址
把所有修改过的文件添加到缓存区
git add .
提交变动记录
git commit -m “提交源码”

遵循先拉后传原则,先拉取远程代码。
git pull origin master
出现问题,不用管,直接强制合并
git pull origin master --allow-unrelated-histories
然后推送代码到远端仓库
git push origin master
出现问题,还不管,强制覆盖。
git push --force 远端仓库地址

然后给依赖库打tag标签,注意,这个标签的版本号一定要和.podspec中的version一致
git tag 0.1.0
将tag标签推送到远端仓库,版本号同样和.podspec文件中的version一致
git push origin 0.1.0
五 创建远端索引库
六 创建本地索引库
1切换路径
进入桌面
cd
cd Desktop
2 执行命令
pod repo add 本地索引库名字 远端索引库的地址
比如: pod repo add SomeSupportSpec xxxxxx.git

3 验证是否成功
pod repo
出现你的索引库,证明成功
4 绑定.podspec文件到远端索引库
切换路径
需要进入回到本地仓库的路径下
pod repo push 索引库名字 本地仓库名字.podspec
比如:pod repo push SomeSupportSpec SomeSupport.podspec
有警告的话可以使用:pod repo push 索引库名字 本地仓库名字.podspec --allow-warnings 以通过验证
七 发布
pod trunk push 名字.podspec --allow-warnings
比如:pod trunk push SomeSupport.podspec --allow-warnings

详细步骤

一、如果没有账号,就先创建账号
1.终端执行以下命令
pod trunk register 邮箱 '作者名称’
2.收到邮件并确认之后再执行以下命令
pod trunk me

二、创建本地仓库
1.首先准备即将上传的代码,随意写个文件就可。
2.创建本地库
打开终端,进入桌面,创建项目
cd Desktop
#SomeSupport是我的命名,这个命名任意起就好pod lib create SomeSupport
输入完成后,终端会显示下面几个问题,根据实际情况选择即可
在这里插入图片描述

问题回答完毕后会自动打开创建的项目,不用管最小化即可。然后在在桌面找到刚刚创建的项目,并打开,目录如下。如果你的目录中没有显示那几个灰色的文件(.git等)?分别按住command键和Shift键,右手的食指按一下.,即可,此时本地仓库创建完成。
在这里插入图片描述

三、将源码导入项目
1.将代码文件放到-Classes文件下

在这里插入图片描述

2.配置本地仓库支持的CocoaPods 文件
如下:
在这里插入图片描述

这个配置文件的参数需要注意一下
在这里插入图片描述

到这里,就需要创建远端仓库了。
四、创建远端仓库
1.建仓库
为了避免一些不可描述的问题发生,强烈建议远端仓库的名字和本地仓库的名字一致。
在这里插入图片描述

2.复制远端仓库的地址,我这里用的https格式
在这里插入图片描述

3.继续配置.podspec文件
配置完成保存,然后update一下就好了终端命令如下:
在这里插入图片描述

pod update --no-repo-update
注意:此时需要在项目的Example目录下执行此命令,注意切换位置。
在这里插入图片描述

4.此时已经添加完成
可以自行测试一下是否可行。
在这里插入图片描述

5.验证一下.podspec文件
源码没有问题了,现在验证一下.podspec文件的配置有没有问题吧,现在终端的路径需要回到本地仓库的路径下了。然后执行如下命令:
pod lib lint
可能会有问题,自己检查如果不影响就就不用在意。可以直接执行命令,尽量将WARN修改掉
pod lib lint --allow-warnings
在这里插入图片描述
在这里插入图片描述

看到显示了passed validation的字眼就表示配置文件也验证成功了,现在就可以把依赖库上传到Git了。
6.把依赖库上传到Git,并打标签tag
继续在本地仓库目录下执行命令,把依赖库上传到Git需要给依赖库打上tag标签,相当于标记版本号。
添加远端仓库的地址
git remote add origin 远端仓库地址
把所有修改过的文件添加到缓存区
git add .
提交变动记录
git commit -m “提交源码”
在这里插入图片描述

遵循先拉后传原则,先拉取远程代码。
git pull origin master
出现问题,不用管,直接强制合并
git pull origin master --allow-unrelated-histories
然后推送代码到远端仓库
git push origin master
出现问题,还不管,强制覆盖。
git push --force 远端仓库地址
在这里插入图片描述

然后给依赖库打tag标签,注意,这个标签的版本号一定要和.podspec中的version一致
git tag 0.1.0
将tag标签推送到远端仓库,版本号同样和.podspec文件中的version一致
git push origin 0.1.0
在这里插入图片描述

到这里,本地仓库和远端仓库都创建完成并且验证完成了,想要支持CocoaPods安装,还必须要一个管理仓库,也叫索引库。索引库和仓库一样也是需要两个,一个本地的一个远端的。
五、创建远端索引库
1.建远端索引库
创建远端索引库的方式和创建远端仓库的方式一样,如下图:
在这里插入图片描述

2.远端索引库的地址,我这里用的https格式
在这里插入图片描述

六、创建本地索引库
创建本地索引库,需要终端回到根目录,或者退出终端重新打开,还需要远端索引库的地址,因为需要把远端索引库和本地索引库关联起来,这就是需 要先创建远端索引库,再创建本地索引库的原因,为了避免一些不可描述的问题发生,还是强烈建议本地索引库的名字和远端索引库的名字一致,然后执行如下命令:
1.创建本地索引库
pod repo add 本地索引库名字 远端索引库的地址
创建成功终端如下显示:
在这里插入图片描述
在这里插入图片描述

2.验证是否创建成功
可以直接在终端输入命令查看创建结果,终端命令如下:
pod repo
在这里插入图片描述

3.绑定.podspec文件到远端索引库
到这里,准备工作都做完了,需要把.podspec文件推送到远端索引库进行绑定操作,终端需要回到本地仓库所在的目录下,再执行命令,终端命令如下:
pod repo push SomeSupportSpec SomeSupport.podspec
pod repo push 索引库名字 本地仓库名字.podspec
出现下图表示成功:
在这里插入图片描述

如果出现错误导致没有成功,可以按照warning提示修改,比如缺少summary等,或者需要补充使用到的frameworks。不想修改的话可以使用:pod repo push 索引库名字 本地仓库名字.podspec --allow-warnings 以通过验证

七、发布到Cocoapods官方库中
首先先用cd到Spec文件所在的目录,提交之前,你需要注册pod账号。实质上是将"邮箱–名称–电脑"绑定在一起,所以这里不需要密码。如果第一次注册,邮箱和名称都是必须的。如果已经注册过,可以省略名称(除非你想修改名称)。
注册命令:

pod trunk register EMAIL [NAME]

执行后会发送邮件到邮箱,需要查看邮件并点击其中链接。
然后把SomeSupport.podspec提交到官方Spec Repo仓库,命令如下:

pod trunk push SomeSupport.podspec --allow-warnings

在这里插入图片描述出现上图,则代表成功。

提交之后cocoaPods官网更新会延迟,耐心等待半小时(或更长),然后将其更新到本地master spec repo:

1 pod repo update
2 rm ~/Library/Caches/CocoaPods/search_index.json
3 pod search SomeSupport    #重新下载search_index.json

八、更新版本
更新就是重新走一遍上传新代码、打标签、上传标签、绑定远端索引库、发布,其中谨记修改version。

  • 22
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是创建依赖 CocoaPods 的 Xcode 模板工程的脚本: ```bash #!/bin/bash # 工程名称 PROJECT_NAME="MyApp" # 模板文件夹路径 TEMPLATE_DIR_PATH="./Templates" # 模板文件夹名称 TEMPLATE_DIR_NAME="iOS App.xctemplate" # 文件夹路径 FILE_PATH="./${PROJECT_NAME}" # 创建项目文件夹 mkdir -p "${FILE_PATH}" # 复制模板到项目文件夹 cp -R "${TEMPLATE_DIR_PATH}/${TEMPLATE_DIR_NAME}" "${FILE_PATH}" # 重命名模板文件夹 mv "${FILE_PATH}/${TEMPLATE_DIR_NAME}" "${FILE_PATH}/${PROJECT_NAME}.xctemplate" # 创建临时目录 TMP_DIR=$(mktemp -d) cd "${TMP_DIR}" # 创建 Podfile echo "platform :ios, '9.0'" >> Podfile echo "use_frameworks!" >> Podfile echo "target '${PROJECT_NAME}' do" >> Podfile echo " pod 'Alamofire'" >> Podfile echo "end" >> Podfile # 安装依赖 pod install # 复制 Podfile 和 Pods 文件夹到模板工程 cp -R Podfile "${FILE_PATH}/${PROJECT_NAME}.xctemplate" cp -R Pods "${FILE_PATH}/${PROJECT_NAME}.xctemplate" # 替换模板中的名称 sed -i '' "s/\${PRODUCT_NAME}/${PROJECT_NAME}/g" "${FILE_PATH}/${PROJECT_NAME}.xctemplate/___FILEBASENAME___.swift" # 删除临时目录 rm -rf "${TMP_DIR}" ``` 你只需要将以上脚本复制到一个名为 `create_pod_template.sh` 的文件中,并在终端中运行以下命令: ```bash chmod +x create_pod_template.sh ./create_pod_template.sh ``` 这将创建一个名为 `MyApp` 的文件夹,其中包含一个名为 `MyApp.xctemplate` 的 iOS 应用程序模板,该模板包含了一个依赖 CocoaPods 的 Alamofire

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值